869d102c9d028ff476c67eb0642772f249c86666,src/com/redhat/ceylon/compiler/loader/AbstractModelLoader.java,AbstractModelLoader,addValue,#ClassOrInterface#FieldMirror#boolean#,1091
Before Change
// FIXME: for the same reason, can it be an overriding field? (actual)
value.setVariable(!fieldMirror.isFinal());
try{
value.setType(obtainType(fieldMirror.getType(), fieldMirror, klass));
value.setUncheckedNullType(!isCeylon);
}catch(TypeParserException x){
logError("Invalid type signature for field "+klass.getQualifiedNameString()+"."+value.getName()+": "+x.getMessage());
After Change
private void addValue(ClassOrInterface klass, FieldMirror fieldMirror, boolean isCeylon) {
// make sure it's a FieldValue so we can figure it out in the backend
Value value = new FieldValue();
value.setContainer(klass);
value.setName(fieldMirror.getName());
value.setUnit(klass.getUnit());
value.setShared(fieldMirror.isPublic() || fieldMirror.isProtected());
value.setProtectedVisibility(fieldMirror.isProtected());
value.setStaticallyImportable(fieldMirror.isStatic());
// field can't be abstract or interface, so not formal
// can we override fields? good question. Not really, but from an external point of view?
// FIXME: figure this out: (default)
// FIXME: for the same reason, can it be an overriding field? (actual)
value.setVariable(!fieldMirror.isFinal());
try{
ProducedType type = obtainType(fieldMirror.getType(), fieldMirror, klass);
value.setType(type);
value.setUncheckedNullType(!isCeylon && !fieldMirror.getType().isPrimitive());
}catch(TypeParserException x){
logError("Invalid type signature for field "+klass.getQualifiedNameString()+"."+value.getName()+": "+x.getMessage());